package com.zm.demo;

import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;

import javax.servlet.MultipartConfigElement;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;

//该类不需要加注解，Spring会自动扫描
//写法1
public class WebConfig implements WebApplicationInitializer {
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        //加载 Spring 配置
        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
        context.register(AppConfig.class);

        //注册转发器Servlet
        DispatcherServlet servlet = new DispatcherServlet(context);
        ServletRegistration.Dynamic registration = servletContext.addServlet("app",servlet);


        //设置服务器在启动时加载 DispatcherServlet
        registration.setLoadOnStartup(1);
        //转发全部请求，必须配置响应地址为：/
        registration.addMapping("/");

        //文件上传参数配置
        MultipartConfigElement mc =
                new MultipartConfigElement(
                        "/",
                        1024 * 1024,
                        1024 * 1024 * 10,
                        1024 * 1024 * 5
                );
        registration.setMultipartConfig(mc);

    }
}
